ヘッダーをスキップ
Oracle TimesTen In-Memory Databaseトラブルシューティング・プロシージャ・ガイド
リリース7.0
E05173-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

アプリケーションが予期せず切断または終了する

TimesTenデータ・ストアに接続しているアプリケーションが予期せず終了すると、次のいずれかのイベントが発生します。

この項では、アプリケーションがデータ・ストアとの接続を予期せず切断または終了したときに確認する事項を説明します。

考えられる原因
対処
内部アプリケーション・エラーが発生した
非同期信号(キーボード割込み、明示的なkillコマンドなど)を受信した
アプリケーションの同時処理スレッドで障害が発生した
クライアント/サーバー接続を使用している
TimesTenライブラリ自体でエラーが発生した
テクニカル・サポートに連絡する

ODBC/JDBCエラーを確認する

すべてのアプリケーションで、SQLErrorファンクションから返されるODBCエラー(またはSQLExceptionから返されるJDBCエラー)を確認し、アプリケーションが処理の途中で終了し、他の接続を強制的に切断する原因となったものがなかったかを確認します。ODBCをコールした後に必ずSQLErrorをコールして、エラーまたは警告が初めて発生したときの状態を識別します。SQLErrorの使用例については、デモ・プログラム、および『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』のエラーと警告の取得に関する説明を参照してください。

さらに、ttTraceMonを使用してアプリケーションでレベル4のERRトレースを生成し、TimesTenダイレクト・ドライバにプッシュされたすべてのエラー・メッセージを確認することも有効な場合があります。詳細は、「ERRトレース」を参照してください。

TimesTenデーモン・ログを確認する

TimesTenアプリケーションがODBCエラーまたは他の警告を返さずに終了した場合は、TimesTenデーモン・ログを調べて、障害の理由を示すメッセージがないかどうかを確認できます。詳細は、「ttDaemonLogユーティリティの使用」を参照してください。

例2.2

アプリケーションがデータ・ストアとの接続を予期せず切断した場合、デーモン・ログは次のようになります。

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Warn] daRecovery: examine failed: invalidate (failcode=300002)

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Warn] 1940 ------------------: Invalidating the data store (failcode 300002)

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] 1940: daInva

lidateDatabase(c:\temp\demo); shmKey Global\DBI3ee4ba3a.0.SHM.37

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] About to destroy SHM 756

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] shmDestroy:

increment shmSeq to 38, reset panicked and trashed

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] daInvalidate

Database(c:\temp\demo): increment shmSeq to 39, reset panicked and trashed

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] 1940: daInvalidateDatabase(c:\temp\demo) done (0)

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] daRecovery/invalidate: clear nUsers, which was 2, set trashed to 39

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] 1940: Finished daRecovery for pid 1952.

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[308]: [Warn] Stopping subdaemon worker for c:\temp\demo because db is invalid.

.....

Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Warn]  308 ------------------: subdaemon process exited

ダイレクト・ドライバ接続を試行する

クライアント/サーバー接続が予期せず切断された場合、可能であれば、ダイレクト・ドライバ接続を試行してください。これによって、ネットワークによる変動要因が除去され、問題の範囲がアプリケーションまたはTimesTenのいずれかに限定されます。